package com.minimalist.lindi.service;

import com.minimalist.common.config.mybatis.bo.PageResp;
import com.minimalist.common.entity.lindi.po.LindiActivity;
import com.minimalist.common.entity.lindi.vo.activity.LindiActivityQueryVO;
import com.minimalist.common.entity.lindi.vo.activity.LindiActivityVO;
import com.mybatisflex.core.service.IService;

/**
 * 林地指标交易平台_活动内容表 服务层。
 *
 * @author 11987
 * @since 2025-06-12
 */
public interface LindiActivityService extends IService<LindiActivity> {

    /**
     * 新增活动
     *
     * @param activityVO 活动
     */
    void addActivity(LindiActivityVO activityVO);

    /**
     * 根据活动ID删除活动
     *
     * @param activityId 活动ID
     */
    void deleteActivityByActivityId(Long activityId);

    /**
     * 根据活动ID更新活动
     *
     * @param activityVO 活动
     */
    void updateActivityByActivityId(LindiActivityVO activityVO);

    /**
     * 根据条件查询活动列表
     *
     * @param queryVO 条件查询
     * @return 活动列表
     */
    PageResp<LindiActivityVO> getPageActivityList(LindiActivityQueryVO queryVO);

    /**
     * 根据活动ID查询活动详情
     *
     * @param activityId 活动ID
     * @return 活动详情
     */
    LindiActivityVO getActivityByActivityId(Long activityId);

    /**
     * 前台网站查询活动分页列表
     *
     * @param queryVO 查询条件
     * @return 活动分页列表
     */
    PageResp<LindiActivityVO> getWebsiteActivityList(LindiActivityQueryVO queryVO);

    /**
     * 前台网站查询活动详情
     *
     * @param activityId 活动ID
     * @return 活动详情
     */
    LindiActivityVO getWebsiteActivityDetail(Long activityId);
}
